import request from '@/config/axios'
import { InfoRuleItemVO } from '@/api/core/inforuleitem'

// 学生信息规则 VO
export interface InfoRuleVO {
  id: number // 主键
  ruleName: string // 规则名称
  defaultRule: boolean // 是否为默认规则
  infoRuleItems?: InfoRuleItemVO[]
}

// 学生信息规则 API
export const InfoRuleApi = {
  // 查询学生信息规则分页
  getInfoRulePage: async (params: any) => {
    return await request.get({ url: `/core/info-rule/page`, params })
  },

  // 查询学生信息规则详情
  getInfoRule: async (id: number) => {
    return await request.get({ url: `/core/info-rule/get?id=` + id })
  },

  // 新增学生信息规则
  createInfoRule: async (data: InfoRuleVO) => {
    return await request.post({ url: `/core/info-rule/create`, data })
  },

  // 修改学生信息规则
  updateInfoRule: async (data: InfoRuleVO) => {
    return await request.put({ url: `/core/info-rule/update`, data })
  },

  // 删除学生信息规则
  deleteInfoRule: async (id: number) => {
    return await request.delete({ url: `/core/info-rule/delete?id=` + id })
  },

  // 导出学生信息规则 Excel
  exportInfoRule: async (params) => {
    return await request.download({ url: `/core/info-rule/export-excel`, params })
  },

  // ==================== 子表（学生信息规则详情） ====================

  // 获得学生信息规则详情列表
  getInfoRuleItemListByRuleId: async (ruleId) => {
    return await request.get({
      url: `/core/info-rule/info-rule-item/list-by-rule-id?ruleId=` + ruleId
    })
  }
}
